import request from '@/utils/request'

// 地址API封装
export const addressApi = {
  /**
   * 获取用户的所有地址
   * @param {Number} userId 用户ID
   * @returns {Promise} 请求结果
   */
  getAddressList(userId) {
    return request({
      url: '/api/address/list',
      method: 'GET',
      params: { userId }
    })
  },

  /**
   * 获取地址详情
   * @param {Number} addressId 地址ID
   * @returns {Promise} 请求结果
   */
  getAddressDetail(addressId) {
    return request({
      url: `/api/address/${addressId}`,
      method: 'GET'
    })
  },

  /**
   * 获取用户的默认地址
   * @param {Number} userId 用户ID
   * @returns {Promise} 请求结果
   */
  getDefaultAddress(userId) {
    return request({
      url: '/api/address/default',
      method: 'GET',
      params: { userId }
    })
  },

  /**
   * 添加新地址
   * @param {Object} address 地址信息
   * @returns {Promise} 请求结果
   */
  addAddress(address) {
    return request({
      url: '/api/address/add',
      method: 'POST',
      data: address
    })
  },

  /**
   * 更新地址
   * @param {Number} addressId 地址ID
   * @param {Object} address 地址信息
   * @returns {Promise} 请求结果
   */
  updateAddress(addressId, address) {
    return request({
      url: '/api/address/update',
      method: 'PUT',
      data: { ...address, addressId }
    })
  },

  /**
   * 删除地址
   * @param {Number} addressId 地址ID
   * @param {Number} userId 用户ID
   * @returns {Promise} 请求结果
   */
  deleteAddress(addressId, userId) {
    return request({
      url: '/api/address/delete',
      method: 'DELETE',
      params: { addressId, userId }
    })
  },

  /**
   * 设置默认地址
   * @param {Number} addressId 地址ID
   * @param {Number} userId 用户ID
   * @returns {Promise} 请求结果
   */
  setDefaultAddress(addressId, userId) {
    return request({
      url: '/api/address/default',
      method: 'PUT',
      params: { addressId, userId }
    })
  }
} 